// pages/my/index.js
const AV = require('../../lib/av-core-min')
Page({

    /**
     * 页面的初始数据
     */
    data: {
        userInfo:null
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let {userInfo} = getApp().globalData
        this.setData({userInfo})
    },
    handleLogin(){
        // 方法1:常规的后端自己开发的授权接口
        // wx.login({
        //   success:(res)=>{
        //       console.log(res);
        //       wx.request({
        //           url:'后端给的接口地址',
        //           data:{
        //               code:res.code //此处的code需要携带给后端接口
        //           },
        //           success:(result)=>{
        //               //此处的result会得到后端下发的openid、session
        //               //前端只需要将这些数据存入本地存储
        //               //后续做其他逻辑时，可以使用这些用户信息
        //           }
        //       })
        //   }
        // })

        // 方法2: 强制授权获取微信用户信息
        wx.getUserProfile({
          desc: '请授权以便为您提供VIP服务',
          success:(info)=>{
            // console.log(info.userInfo); //【1】微信用户头像、昵称等信息 【可选】
            let {userInfo} = info
            AV.User.loginWithMiniApp().then(user => { //【2】使用后端接口授权登录
                let {openid} = user.attributes.authData.lc_weapp //授权登录成功，得到用户的openid等信息
                console.log(user);
                let {fly} = getApp()
                fly.config.headers['X-LC-Session'] = user._sessionToken  
                fly.put(`/users/${user.id}`,userInfo).then(res=>{//【3】更新用户表，必须携带session
                    // console.log(res);
                    userInfo.userid = user.id
                    userInfo.openid = openid
                    getApp().globalData.userInfo = userInfo //全局存储用户信息
                    wx.setStorage({ //本地存储用户信息
                        key:'userInfo',
                        data:userInfo
                    })
                    this.setData({userInfo})
                })
            }).catch(console.error);
          },
          fail:(err)=>{
              wx.showToast({
                title: '很遗憾不能为您提供VIP服务',
                icon:'none'
              })
          }
        })
    },

    handleLogout(){
        getApp().globalData.userInfo = null
        wx.removeStorage({
          key: 'userInfo',
        })
        this.setData({userInfo:null})
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})